#ifndef VECTOR_HH_
#define VECTOR_HH_

class Vector
{
public:
	/** Default constructor */
	Vector();

	/** Allow to fill vector with user's values */
	Vector(float x, float y, float z);

	/** destructor */
	~Vector();

	float getX() const;
	float getY() const;
	float getZ() const;

	// Diabetes
	float x() const;
	float y() const;
	float z() const;

	// Operators overloading
	Vector operator^(const Vector &v);
	Vector operator-(const Vector &v);
	Vector operator-() const;

	void normalize();

	#ifdef DEBUG
		void print();
	#endif


private:
	float _x;
	float _y;
	float _z;
};

typedef Vector Coords;

#endif // VECTOR_HH_
